#include <iostream>
#include <noise.h>

#include "noiseutils.h"

using namespace noise;

class Cavemap
{
private:
	int	  _x;
	int	  _z;
	float						Delta;
    float						ValueLimit;
	module::RidgedMulti			ridged;

	void init(int seed, int octaves, float delta, float valueLimit, int x, int z);
public:
	Cavemap(int seed, int octaves, float delta, float valueLimit, int x, int z);
	Cavemap(int seed, float delta, float valueLimit, int x, int z);
	Cavemap(float delta, float valueLimit, int x, int z);
	~Cavemap();

	float getValue(int x, int z, int y);
	float getCave(int x, int z, int y);
	bool   isCave(int x, int z, int y);
};